﻿Public Class FeuerkrafttabelleINF120
    Inherits Angriffstabelle
    Public Overrides Function GetWert(ByVal Name As String) As Integer
        Dim E As ObjektEinheit = GetUnit(Name)
        If E.MinimaleReichweite > 1 Then
            Select Case E.Bewegungsart.ToUpper
                Case MovementSorts.Fuss.ToString.ToUpper
                    Return 120
                Case MovementSorts.Mech.ToString.ToUpper
                    Return 120
                Case Else
                    Return 100
            End Select
        Else
            Select Case E.Bewegungsart.ToUpper

                Case MovementSorts.Flugzeug.ToString.ToUpper
                    Return 90
                Case MovementSorts.Helikopter.ToString.ToUpper
                    Return 90
                Case MovementSorts.Transport.ToString.ToUpper
                    Return 90
                Case MovementSorts.Schiff.ToString.ToUpper
                    Return 90
                Case MovementSorts.Fuss.ToString.ToUpper
                    Return 120
                Case MovementSorts.Mech.ToString.ToUpper
                    Return 120
                Case MovementSorts.Hoellium.ToString.ToUpper
                    Return 95
                Case MovementSorts.Amphibie.ToString.ToUpper
                    Return 90
                Case MovementSorts.Ketten.ToString.ToUpper
                    Return 95
                Case MovementSorts.Reifen.ToString.ToUpper
                    Return 95
                Case MovementSorts.Motorreifen.ToString.ToUpper
                    Return 120
                Case Else
                    Return 95
            End Select
        End If
    End Function
    Public Overrides Function ToString() As String
        Return "infantrie|90|120|95"
    End Function
End Class
Public Class FeuerkrafttabelleINF130
    Inherits Angriffstabelle
    Public Overrides Function GetWert(ByVal Name As String) As Integer
        Dim E As ObjektEinheit = GetUnit(Name)
        If E.MinimaleReichweite > 1 Then
            Select Case E.Bewegungsart.ToUpper
                Case MovementSorts.Fuss.ToString.ToUpper
                    Return 130
                Case MovementSorts.Mech.ToString.ToUpper
                    Return 130
                Case Else
                    Return 100
            End Select
        Else
            Select Case E.Bewegungsart.ToUpper
                Case MovementSorts.Flugzeug.ToString.ToUpper
                    Return 90
                Case MovementSorts.Helikopter.ToString.ToUpper
                    Return 90
                Case MovementSorts.Transport.ToString.ToUpper
                    Return 90
                Case MovementSorts.Schiff.ToString.ToUpper
                    Return 90
                Case MovementSorts.Fuss.ToString.ToUpper
                    Return 130
                Case MovementSorts.Mech.ToString.ToUpper
                    Return 130
                Case MovementSorts.Hoellium.ToString.ToUpper
                    Return 95
                Case MovementSorts.Amphibie.ToString.ToUpper
                    Return 90
                Case MovementSorts.Ketten.ToString.ToUpper
                    Return 95
                Case MovementSorts.Reifen.ToString.ToUpper
                    Return 95
                Case MovementSorts.Motorreifen.ToString.ToUpper
                    Return 130
                Case Else
                    Return 95
            End Select
        End If
    End Function
    Public Overrides Function ToString() As String
        Return "infantrie|90|130|95"
    End Function
End Class
Public Class FeuerkrafttabelleINF150
    Inherits Angriffstabelle
    Public Overrides Function GetWert(ByVal Name As String) As Integer
        Dim E As ObjektEinheit = GetUnit(Name)
        If E.MinimaleReichweite > 1 Then
            Select Case E.Bewegungsart.ToUpper
                Case MovementSorts.Fuss.ToString.ToUpper
                    Return 150
                Case MovementSorts.Mech.ToString.ToUpper
                    Return 150
                Case Else
                    Return 100
            End Select
        Else
            Select Case E.Bewegungsart.ToUpper
                Case MovementSorts.Flugzeug.ToString.ToUpper
                    Return 90
                Case MovementSorts.Helikopter.ToString.ToUpper
                    Return 90
                Case MovementSorts.Transport.ToString.ToUpper
                    Return 90
                Case MovementSorts.Schiff.ToString.ToUpper
                    Return 90
                Case MovementSorts.Fuss.ToString.ToUpper
                    Return 150
                Case MovementSorts.Mech.ToString.ToUpper
                    Return 150
                Case MovementSorts.Hoellium.ToString.ToUpper
                    Return 95
                Case MovementSorts.Amphibie.ToString.ToUpper
                    Return 90
                Case MovementSorts.Ketten.ToString.ToUpper
                    Return 95
                Case MovementSorts.Reifen.ToString.ToUpper
                    Return 95
                Case MovementSorts.Motorreifen.ToString.ToUpper
                    Return 150
                Case Else
                    Return 95
            End Select
        End If
    End Function
    Public Overrides Function ToString() As String
        Return "infantrie|90|150|95"
    End Function
End Class
Public Class FeuerkrafttabelleINF180
    Inherits Angriffstabelle
    Public Overrides Function GetWert(ByVal Name As String) As Integer
        Dim E As ObjektEinheit = GetUnit(Name)
        If E.MinimaleReichweite > 1 Then
            Select Case E.Bewegungsart.ToUpper
                Case MovementSorts.Fuss.ToString.ToUpper
                    Return 180
                Case MovementSorts.Mech.ToString.ToUpper
                    Return 180
                Case Else
                    Return 100
            End Select
        Else
            Select Case E.Bewegungsart.ToUpper
                Case MovementSorts.Flugzeug.ToString.ToUpper
                    Return 90
                Case MovementSorts.Helikopter.ToString.ToUpper
                    Return 90
                Case MovementSorts.Transport.ToString.ToUpper
                    Return 90
                Case MovementSorts.Schiff.ToString.ToUpper
                    Return 90
                Case MovementSorts.Fuss.ToString.ToUpper
                    Return 180
                Case MovementSorts.Mech.ToString.ToUpper
                    Return 180
                Case MovementSorts.Hoellium.ToString.ToUpper
                    Return 95
                Case MovementSorts.Amphibie.ToString.ToUpper
                    Return 90
                Case MovementSorts.Ketten.ToString.ToUpper
                    Return 95
                Case MovementSorts.Reifen.ToString.ToUpper
                    Return 95
                Case MovementSorts.Motorreifen.ToString.ToUpper
                    Return 180
                Case Else
                    Return 95
            End Select
        End If
    End Function
    Public Overrides Function ToString() As String
        Return "infantrie|90|180|95"
    End Function
End Class
Public Class FeuerkrafttabelleINF190
    Inherits Angriffstabelle
    Public Overrides Function GetWert(ByVal Name As String) As Integer
        Dim E As ObjektEinheit = GetUnit(Name)
        If E.MinimaleReichweite > 1 Then
            Select Case E.Bewegungsart.ToUpper
                Case MovementSorts.Fuss.ToString.ToUpper
                    Return 190
                Case MovementSorts.Mech.ToString.ToUpper
                    Return 190
                Case Else
                    Return 100
            End Select
        Else
            Select Case E.Bewegungsart.ToUpper
                Case MovementSorts.Flugzeug.ToString.ToUpper
                    Return 90
                Case MovementSorts.Helikopter.ToString.ToUpper
                    Return 90
                Case MovementSorts.Transport.ToString.ToUpper
                    Return 90
                Case MovementSorts.Schiff.ToString.ToUpper
                    Return 90
                Case MovementSorts.Fuss.ToString.ToUpper
                    Return 190
                Case MovementSorts.Mech.ToString.ToUpper
                    Return 190
                Case MovementSorts.Hoellium.ToString.ToUpper
                    Return 95
                Case MovementSorts.Amphibie.ToString.ToUpper
                    Return 90
                Case MovementSorts.Ketten.ToString.ToUpper
                    Return 95
                Case MovementSorts.Reifen.ToString.ToUpper
                    Return 95
                Case MovementSorts.Motorreifen.ToString.ToUpper
                    Return 190
                Case Else
                    Return 95
            End Select
        End If
    End Function
    Public Overrides Function ToString() As String
        Return "infantrie|90|190|95"
    End Function
End Class
